package com.campus.exception;

import java.io.Serializable;

/**
 * @desc: 自定义业务异常类。
 * @author: hjm
 * @date: 2024/11/12
 */
public class BusinessException extends RuntimeException implements Serializable {

    private static final long serialVersionUID = 1L;

    private int errorCode;

    /**
     * 默认构造函数
     */
    public BusinessException() {
        super();
    }

    /**
     * 构造函数，接受消息参数
     * @param message 异常消息
     */
    public BusinessException(String message) {
        super(message);
    }

    /**
     * 构造函数，接受消息和原因参数
     * @param message 异常消息
     * @param cause 异常原因
     */
    public BusinessException(String message, Throwable cause) {
        super(message, cause);
    }

    /**
     * 构造函数，接受错误码和消息参数
     * @param errorCode 错误码
     * @param message 异常消息
     */
    public BusinessException(int errorCode, String message) {
        super(message);
        this.errorCode = errorCode;
    }

    /**
     * 构造函数，接受错误码、消息和原因参数
     * @param errorCode 错误码
     * @param message 异常消息
     * @param cause 异常原因
     */
    public BusinessException(int errorCode, String message, Throwable cause) {
        super(message, cause);
        this.errorCode = errorCode;
    }

    /**
     * 获取错误码
     * @return 错误码
     */
    public int getErrorCode() {
        return errorCode;
    }

    /**
     * 设置错误码
     * @param errorCode 错误码
     */
    public void setErrorCode(int errorCode) {
        this.errorCode = errorCode;
    }
}






